//
//  Person.h
//  02_ClassAndObject
//
//  Created by dllo on 16/7/5.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Person : NSObject
// 大括号中所包含的是类的成员变量(实例变量)
{
    // @protected 受保护的,类本身及其子类
    // @public 公开的,让外界可以访问
    // @private 私有的,只有自己可以访问
    // @package 一般系统内部使用,很少用
    @private
    NSString *_name;
    @public
    NSInteger _age;
}

// @property封装了setter,getter,成员变量
// 在@property之后,如果同时声明了setter和getter方法,成员变量就无效了.

// -,+后加空格
// 参数名首字母小写,后续驼峰
// 可以回车对齐,回车后:对齐
// 无论调用那个初始化方法,都会执行的初始化方法,称为指派初始化方法
- (instancetype)initWithName:(NSString *)name
                         age:(NSInteger)age;
- (instancetype)initWithName:(NSString *)name;
- (instancetype)initWithAge:(NSInteger)age;

+ (instancetype)personWithName:(NSString *)name
                           age:(NSInteger)age;

// 方法分为两种: +类方法 -实例方法(对象调用)
// 返回值 函数名(参数列表)
void max(int x, int y);

// (返回值类型)方法名:(参数类型)参数
- (void)sleep:(NSInteger) time;



@end
